Evidence-grounded staff-work controller and approval gate for high-stakes decisions, executive briefs, memos, and outbound actions. Enforces judgment over authority, Socratic adversarial stress-testing (3-prong devil's advocate challenge), explicit dissent preservation, frozen evidence snapshots, and single-use SHA-256 hash approvals before any filesystem or external mutation. Extends to delegation control: subagent dispatch with teachback confirmation and two-stage review gates, DAG wave dispatch that skips dependents on parent failure, intake triage with WIP limits, blast-radius replan protocol, orientation briefings, a persistent task ledger, and structured session handover with three-tier harvest.
Controls high-stakes staff work (executive briefs, decision memos, architecture governance, outbound comms). Enforces the iron doctrine of Judgment, not authority: agents synthesize evidence, stress-test proposals through a mandatory Socratic adversarial challenge (3-prong devil's advocate), preserve contradictions and uncertainties, and halt at an unyielding cryptographic single-use SHA-256 hash approval gate before committing any real-world changes.
When to Use
Trigger Conditions
Execute this skill when:
Preparing High-Stakes Staff Work: Drafting executive summaries, investment/architecture decision memos, RFCs, or principal briefs.
Conducting Socratic Adversarial Review: Subjecting architectural or operational decisions to an uncompromising devil's advocate stress test.
Mandatory Approval Gates: Any operation involving irreversible filesystem writes, production deployments, database migrations, or outbound communications.
Preserving Critical Dissent: Complex problem spaces where contradictory data, uncertainty, or "no data" gaps must be preserved rather than smoothed over.
Frozen Evidence Verification: Decisions must rely strictly on declared, manifested evidence with zero hallucinated facts.
Stress-test proposal; query principal on ambiguities
NEEDS_APPROVAL
Recommendation frozen with payload SHA-256
Output APPROVAL_PACKET.md, wait for user hash confirmation
APPROVED
User matches exact SHA-256 hash token
Execute proposed mutation
REJECTED
User rejects or requests modifications
Record feedback, return to DRAFTING
Delegation Control Gates (subagent dispatch)
When the secretary routes work to subagents on governed surfaces:
Gate
Rule
Failure Handling
Teachback
Dispatched agent must restate task scope, acceptance criteria, and upstream dependencies in its own words before doing any work; lead stores the agent id for resume-on-blocker
Wrong/missing teachback → re-dispatch with sharpened instructions, never let work start on a misread
Failed review → iterative fix cycle, max 3 retries, then escalate to the principal with the review findings
Aggregation
Subagent outputs consolidated into one structured summary for the principal; raw agent output never surfaced
N/A
Wave Dispatch (DAG)
Independent tasks in the same dependency wave dispatch in parallel; a wave completes and its results are validated before the next wave launches
Parent failure → dependents are marked SKIP (never dispatched), not left dangling; the failure routes to dead-letter
Feedback Reception
Review feedback returning from delegations or reviewers is verified against the code before implementation; each item is classified implement / rebut (with evidence, never deference) / ask (one specific question); items touching auth, payments, or migrations get investigation before application
Performative agreement or blind application → the gate failed; re-verify every item before any further edit
Blast-Radius Replan Ladder
When an approved plan is invalidated (failed assumption, broken dependency, new constraint), classify before re-proposing:
Radius
Meaning
Action
NEXT_ACTION
One step is wrong
Patch the step; plan intact
MILESTONE
A phase outcome unreachable
Re-scope the phase; downstream milestones re-validated
OUTCOME
The end-state itself is questioned
Full Socratic re-run on the new proposal
KILL
No path to the outcome
Recommend abandonment with lessons logged; return unused budget
State the invalidation cause → classify radius → propose the patch → obtain approval → append the decision to the project log. A done_when change is always at least MILESTONE radius and is logged before it is applied.
Orient Briefing (on entry)
When the principal asks for status (or on resume), emit a read-only briefing before any new work:
Active items: id, priority, state-machine position, next action.
Blocked / overdue: what is waiting on whom, past-deadline approvals.
One recommendation: the single highest-leverage next action.
Read-only by default; writes only on explicit request.
Task Ledger (persistent delegation state)
Delegation state lives in files, not conversation. Maintain .agents/secretary-tasks.json — one entry per delegated item: id, status (PLANNING → IN_PROGRESS → REVIEW → DONE/FAILED/SKIP), assignee (agent id from teachback), dependencies, result (verification receipt). Operations are idempotent: next (first actionable item), set-status, verify (receipt required before DONE). One foreground task at a time, each with explicit completion criteria. On any context reset, reconstruct state from the ledger + HANDOFF.md + git history — never from memory of the conversation; premature "completion" without a ledger receipt is the #1 recovery failure.
Handoff Harvest (three tiers)
Processing received handoffs/HANDOFF.md files is a harvest with three modes, chosen by situation:
Tier
When
Protocol
Standard
After a phase completes
Discover all pending handoffs → review each → save durable learnings
Incremental
After remediation of a known issue
Delta-only: process what changed since the last harvest
Consolidation
Session end / before /clear
Read ALL pending HANDOFFs before saving any — deduplicate and consolidate across them into one coherent state, then write the handover file (Step 6)
Harvest rule: never persist a learning that a later handoff in the same batch contradicts or supersedes — read everything first, then write once.
Procedure
Step 0 — Intake Triage & WIP Gate
Raw input enters an intake state verbatim — never act on it mid-conversation without classification. Triage: classify (decision / delegation / brief / routine-reject), assign priority, and only then promote to active work. Active governed work must carry an explicit done_when (verifiable end-state) and a next_action; items missing either stay in triage. Respect the WIP limit — promoting new active work past the limit requires retiring or parking an existing item first.
Step 1 — Evidence Ingestion & Snapshot Freezing
Declare all factual sources (file paths, test logs, URL citations).
Construct the Evidence Register—every claim in the memo must link to a specific line range or test receipt.
Mark any unknown, missing, or contradictory data points as [NO-DATA] or [CONTRADICTION].
Prompt: "To execute, approve with token APPROVE:<hash>."
HALT. Do NOT execute payload without matching user confirmation.
Step 5 — Verification & Single-Use Execution
Upon receiving user approval:
Validate token matches computed SHA-256 hash.
Execute the approved mutations.
Stamp the artifact as EXECUTED with execution timestamp.
Step 6 — Session Handover
Before a session boundary (context reset, /clear, handoff to another agent), run the Consolidation harvest (see Handoff Harvest) — read all pending handoffs before writing anything — then write .agents/secretary-handover.md:
Structured state: active decisions and their state-machine position, pending approvals with payload hashes, task-ledger status (in-flight delegations with agent ids and receipts), WIP items with next actions.
Temperature notes: unstructured judgments in flight — human-side agreements, hesitations, open objections that are not yet formal dissent entries.
On resume, load this file first and restore minimum awareness before accepting new work.
Pitfalls
Confirmation Bias & Rubber-Stamping: Accepting user premises uncritically without running the 3-prong devil's advocate challenge.
Hallucinating Authority: Executing mutations or external sends under the assumption that "the user would want this". Always stop at NEEDS_APPROVAL.
Smoothing Over Dissent: Hiding trade-offs, risks, or negative benchmark findings to make a memo appear neat.
Floating Approvals: Re-running execution on a modified payload without computing a fresh SHA-256 hash.
Unverified Assumptions: Estimating metrics instead of writing [NO DATA AVAILABLE].
Skipping Teachback: Letting a subagent start on an unconfirmed reading of the task — the cheapest failure to prevent and the most expensive to discover late.
Silent Plan Decay: Patching an invalidated plan without classifying blast radius — the decision log loses the why, and the next session inherits a plan that no longer matches reality.
Triage Bypass: Acting on raw input before classification — urgency theater beats the WIP limit and quality gates.
Dangling Dependents: Launching the next wave while a parent task is still FAILED — dependents get marked SKIP and routed, not silently inherited by a wave that assumes upstream success.
Conversation-State Recovery: Reconstructing delegation state from remembered chat instead of the task ledger and handover file — a context reset wipes memory, files survive.
Verification
Before issuing an approval packet, verify:
Every factual claim links to verified evidence in the register.
Socratic Adversarial Gate completed with at least 3 formulated counter-arguments.
Dissent, alternative approaches, and failure modes are explicitly documented in the ledger.
Proposed diff/payload has a valid SHA-256 checksum computed.
Execution stops completely until explicit cryptographic or user approval is received.
Delegated work: teachback confirmed before work began; two-stage review passed (or retries exhausted and escalated).
Any invalidated plan was re-scoped through the blast-radius ladder and logged.
Session ended on a boundary: consolidation harvest run, handover file written with structured state + temperature notes.
Task ledger current: every DONE item carries a verification receipt; no wave launched with an unresolved parent failure.
1---2name: secretary3description: Evidence-grounded staff-work controller and approval gate for high-stakes decisions, executive briefs, memos, and outbound actions. Enforces judgment over authority, Socratic adversarial stress-testing (3-prong devil's advocate challenge), explicit dissent preservation, frozen evidence snapshots, and single-use SHA-256 hash approvals before any filesystem or external mutation. Extends to delegation control: subagent dispatch with teachback confirmation and two-stage review gates, DAG wave dispatch that skips dependents on parent failure, intake triage with WIP limits, blast-radius replan protocol, orientation briefings, a persistent task ledger, and structured session handover with three-tier harvest.4license: MIT5---67# 📑 Secretary Controller — Evidence-Grounded Staff-Work Controller89> Controls high-stakes staff work (executive briefs, decision memos, architecture governance, outbound comms). Enforces the iron doctrine of *Judgment, not authority*: agents synthesize evidence, stress-test proposals through a mandatory Socratic adversarial challenge (3-prong devil's advocate), preserve contradictions and uncertainties, and halt at an unyielding cryptographic single-use SHA-256 hash approval gate before committing any real-world changes.1011---1213## When to Use1415### Trigger Conditions16Execute this skill when:171. **Preparing High-Stakes Staff Work**: Drafting executive summaries, investment/architecture decision memos, RFCs, or principal briefs.182. **Conducting Socratic Adversarial Review**: Subjecting architectural or operational decisions to an uncompromising devil's advocate stress test.193. **Mandatory Approval Gates**: Any operation involving irreversible filesystem writes, production deployments, database migrations, or outbound communications.204. **Preserving Critical Dissent**: Complex problem spaces where contradictory data, uncertainty, or "no data" gaps must be preserved rather than smoothed over.215. **Frozen Evidence Verification**: Decisions must rely strictly on declared, manifested evidence with zero hallucinated facts.226. **Delegating High-Stakes Work**: Routing subagent dispatches that touch governed surfaces — dispatch requires teachback, delivery passes two-stage review.237. **Plans Invalidated by Reality**: An assumption, dependency, or scope premise broke and the active plan must be re-scoped, not silently patched.248. **Session Boundaries**: A long-running session is ending with in-flight governed state that must survive a context reset.2526### Anti-Triggers27Do NOT use this skill when:28- Performing routine code refactoring covered by automated test suites.29- Executing minor documentation typo fixes.30- Running sandbox experiments where fast autonomous exploration is desired.3132---3334## Quick Reference3536### The 4 Core Doctrines of Staff Work3738```39┌─────────────────────────┐ ┌─────────────────────────┐40│ 1. Judgment, Not Power │ │ 2. Socratic Dissent │41│ Recommends with rigor; │ │ 3-prong devil's advocate│42│ halts at approval gate │ │ challenges all premises │43└─────────────────────────┘ └─────────────────────────┘44 │ │45 ▼ ▼46┌─────────────────────────┐ ┌─────────────────────────┐47│ 3. Frozen Evidence │ │ 4. Single-Use Hash Gate │48│ Zero extrapolation; │ │ SHA-256 confirmation │49│ cited primary sources │ │ required for execution │50└─────────────────────────┘ └─────────────────────────┘51```5253### The Socratic Adversarial Triad5455Every proposal must withstand 3 mandatory challenge angles before hashing:5657| Angle | Probing Question | Focus Area |58| :--- | :--- | :--- |59| **1. Architectural Fragility** | *"Under what realistic load, edge case, or corruption does this design break?"* | SPOFs, concurrency, distributed state |60| **2. Rollback Burden** | *"If execution aborts at 50%, how catastrophic and manual is recovery?"* | Irreversible writes, missing dry-runs |61| **3. Hidden Assumptions** | *"What unverified optimistic claims is this plan treating as fact?"* | Unbenchmarked claims, API limits |6263### Approval State Machine6465| State | Meaning | Allowed Actions |66| :--- | :--- | :--- |67| `DRAFTING` | Compiling facts and surfacing uncertainties | Read-only tools, evidence collection |68| `ADVERSARIAL_CHALLENGE` | Formulating 3 counter-arguments & Socratic inquiry | Stress-test proposal; query principal on ambiguities |69| `NEEDS_APPROVAL` | Recommendation frozen with payload SHA-256 | Output `APPROVAL_PACKET.md`, wait for user hash confirmation |70| `APPROVED` | User matches exact SHA-256 hash token | Execute proposed mutation |71| `REJECTED` | User rejects or requests modifications | Record feedback, return to `DRAFTING` |7273### Delegation Control Gates (subagent dispatch)7475When the secretary routes work to subagents on governed surfaces:7677| Gate | Rule | Failure Handling |78| :--- | :--- | :--- |79| **Teachback** | Dispatched agent must restate task scope, acceptance criteria, and upstream dependencies in its own words **before doing any work**; lead stores the agent id for resume-on-blocker | Wrong/missing teachback → re-dispatch with sharpened instructions, never let work start on a misread |80| **Two-Stage Review** | Delivery passes two reviewer agents: (1) **spec-compliance** — acceptance criteria met, (2) **quality** — maintainability, security, minimal-diff discipline | Failed review → iterative fix cycle, max 3 retries, then escalate to the principal with the review findings |81| **Aggregation** | Subagent outputs consolidated into one structured summary for the principal; raw agent output never surfaced | N/A |82| **Wave Dispatch (DAG)** | Independent tasks in the same dependency wave dispatch in parallel; a wave completes and its results are validated before the next wave launches | Parent failure → dependents are marked `SKIP` (never dispatched), not left dangling; the failure routes to `dead-letter` |83| **Feedback Reception** | Review feedback returning from delegations or reviewers is verified against the code before implementation; each item is classified implement / rebut (with evidence, never deference) / ask (one specific question); items touching auth, payments, or migrations get investigation before application | Performative agreement or blind application → the gate failed; re-verify every item before any further edit |8485### Blast-Radius Replan Ladder8687When an approved plan is invalidated (failed assumption, broken dependency, new constraint), classify before re-proposing:8889| Radius | Meaning | Action |90| :--- | :--- | :--- |91| `NEXT_ACTION` | One step is wrong | Patch the step; plan intact |92| `MILESTONE` | A phase outcome unreachable | Re-scope the phase; downstream milestones re-validated |93| `OUTCOME` | The end-state itself is questioned | Full Socratic re-run on the new proposal |94| `KILL` | No path to the outcome | Recommend abandonment with lessons logged; return unused budget |9596State the invalidation cause → classify radius → propose the patch → obtain approval → append the decision to the project log. A `done_when` change is always at least `MILESTONE` radius and is logged before it is applied.9798### Orient Briefing (on entry)99When the principal asks for status (or on resume), emit a read-only briefing before any new work:100101- **Active items**: id, priority, state-machine position, next action.102- **Blocked / overdue**: what is waiting on whom, past-deadline approvals.103- **In-flight delegations**: subagent, teachback status, review state.104- **One recommendation**: the single highest-leverage next action.105106Read-only by default; writes only on explicit request.107108### Task Ledger (persistent delegation state)109Delegation state lives in files, not conversation. Maintain `.agents/secretary-tasks.json` — one entry per delegated item: `id`, `status` (`PLANNING` → `IN_PROGRESS` → `REVIEW` → `DONE`/`FAILED`/`SKIP`), `assignee` (agent id from teachback), `dependencies`, `result` (verification receipt). Operations are idempotent: `next` (first actionable item), `set-status`, `verify` (receipt required before `DONE`). One foreground task at a time, each with explicit completion criteria. On any context reset, reconstruct state from the ledger + `HANDOFF.md` + git history — never from memory of the conversation; premature "completion" without a ledger receipt is the #1 recovery failure.110111### Handoff Harvest (three tiers)112Processing received handoffs/HANDOFF.md files is a harvest with three modes, chosen by situation:113114| Tier | When | Protocol |115| :--- | :--- | :--- |116| **Standard** | After a phase completes | Discover all pending handoffs → review each → save durable learnings |117| **Incremental** | After remediation of a known issue | Delta-only: process what changed since the last harvest |118| **Consolidation** | Session end / before `/clear` | Read ALL pending HANDOFFs before saving any — deduplicate and consolidate across them into one coherent state, then write the handover file (Step 6) |119120Harvest rule: never persist a learning that a later handoff in the same batch contradicts or supersedes — read everything first, then write once.121122---123124## Procedure125126### Step 0 — Intake Triage & WIP Gate127Raw input enters an intake state verbatim — never act on it mid-conversation without classification. Triage: classify (decision / delegation / brief / routine-reject), assign priority, and only then promote to active work. Active governed work must carry an explicit **done_when** (verifiable end-state) and a **next_action**; items missing either stay in triage. Respect the WIP limit — promoting new active work past the limit requires retiring or parking an existing item first.128129### Step 1 — Evidence Ingestion & Snapshot Freezing1301. Declare all factual sources (file paths, test logs, URL citations).1312. Construct the **Evidence Register**—every claim in the memo must link to a specific line range or test receipt.1323. Mark any unknown, missing, or contradictory data points as `[NO-DATA]` or `[CONTRADICTION]`.133134### Step 2 — Socratic Adversarial Challenge & Devil's Advocate Gate135Prior to generating mutations or computing hashes, conduct the adversarial review (see `references/socratic-adversarial-gate.md`):1361. **Formulate 3 Counter-Arguments**:137 - Challenge Architectural Fragility (SPOFs, edge case failures).138 - Challenge Operational & Rollback Burden (recovery complexity).139 - Expose Hidden Assumptions (unverified claims).1402. **Socratic Inquiry**:141 - If critical assumptions lack grounding, ask clarifying questions before continuing.1423. **Record Dissent**:143 - Document all counter-arguments, mitigations, and accepted risks in the **Preserved Dissent Ledger**.144145### Step 3 — Construct the Completed Staff Work Packet146Synthesize the decision artifact (`DECISION_MEMO.md`) containing:147- **Core Recommendation**: Unambiguous 1-sentence action proposal.148- **Context & Strategic Trade-offs**: Why this approach beats alternatives.149- **Preserved Dissent & Adversarial Ledger**: 3 counter-arguments with mitigations or accepted risks.150- **Payload Manifest**: Exact files to be created/modified or shell commands to run.151152### Step 4 — Compute Payload Hash & Emit Approval Gate1531. Calculate the SHA-256 checksum of the proposed diff or execution payload:154 ```bash155 echo "<payload_content>" | sha256sum | cut -d' ' -f1156 ```1572. Generate `APPROVAL_PACKET.md` with:158 - State: `NEEDS_APPROVAL`159 - Payload SHA-256: `SHA256:<hash>`160 - Prompt: *"To execute, approve with token `APPROVE:<hash>`."*1613. **HALT**. Do NOT execute payload without matching user confirmation.162163### Step 5 — Verification & Single-Use Execution164Upon receiving user approval:1651. Validate token matches computed SHA-256 hash.1662. Execute the approved mutations.1673. Stamp the artifact as `EXECUTED` with execution timestamp.168169### Step 6 — Session Handover170Before a session boundary (context reset, `/clear`, handoff to another agent), run the **Consolidation harvest** (see Handoff Harvest) — read all pending handoffs before writing anything — then write `.agents/secretary-handover.md`:171- **Structured state**: active decisions and their state-machine position, pending approvals with payload hashes, task-ledger status (in-flight delegations with agent ids and receipts), WIP items with next actions.172- **Temperature notes**: unstructured judgments in flight — human-side agreements, hesitations, open objections that are not yet formal dissent entries.173On resume, load this file first and restore minimum awareness before accepting new work.174175---176177## Pitfalls178179- **Confirmation Bias & Rubber-Stamping**: Accepting user premises uncritically without running the 3-prong devil's advocate challenge.180- **Hallucinating Authority**: Executing mutations or external sends under the assumption that "the user would want this". Always stop at `NEEDS_APPROVAL`.181- **Smoothing Over Dissent**: Hiding trade-offs, risks, or negative benchmark findings to make a memo appear neat.182- **Floating Approvals**: Re-running execution on a modified payload without computing a fresh SHA-256 hash.183- **Unverified Assumptions**: Estimating metrics instead of writing `[NO DATA AVAILABLE]`.184- **Skipping Teachback**: Letting a subagent start on an unconfirmed reading of the task — the cheapest failure to prevent and the most expensive to discover late.185- **Silent Plan Decay**: Patching an invalidated plan without classifying blast radius — the decision log loses the why, and the next session inherits a plan that no longer matches reality.186- **Triage Bypass**: Acting on raw input before classification — urgency theater beats the WIP limit and quality gates.187- **Dangling Dependents**: Launching the next wave while a parent task is still `FAILED` — dependents get marked `SKIP` and routed, not silently inherited by a wave that assumes upstream success.188- **Conversation-State Recovery**: Reconstructing delegation state from remembered chat instead of the task ledger and handover file — a context reset wipes memory, files survive.189190---191192## Verification193194Before issuing an approval packet, verify:1951. [ ] Every factual claim links to verified evidence in the register.1962. [ ] Socratic Adversarial Gate completed with at least 3 formulated counter-arguments.1973. [ ] Dissent, alternative approaches, and failure modes are explicitly documented in the ledger.1984. [ ] Proposed diff/payload has a valid SHA-256 checksum computed.1995. [ ] Execution stops completely until explicit cryptographic or user approval is received.2006. [ ] Delegated work: teachback confirmed before work began; two-stage review passed (or retries exhausted and escalated).2017. [ ] Any invalidated plan was re-scoped through the blast-radius ladder and logged.2028. [ ] Session ended on a boundary: consolidation harvest run, handover file written with structured state + temperature notes.2039. [ ] Task ledger current: every `DONE` item carries a verification receipt; no wave launched with an unresolved parent failure.
Run npx skillmds@latest add harshsinghmp/secretary in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Evidence-grounded staff-work controller and approval gate for high-stakes decisions, executive briefs, memos, and outbound actions. Enforces judgment over authority, Socratic adversarial stress-testing (3-prong devil's advocate challenge), explicit dissent preservation, frozen evidence snapshots, and single-use SHA-256 hash approvals before any filesystem or external mutation. Extends to delegation control: subagent dispatch with teachback confirmation and two-stage review gates, DAG wave dispatch that skips dependents on parent failure, intake triage with WIP limits, blast-radius replan protocol, orientation briefings, a persistent task ledger, and structured session handover with three-tier harvest. It is listed under Productivity on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free. This skill is licensed under MIT.
harshsinghmp (@harshsinghmp) published this skill. Their other Agent Skills are listed on their SkillMD profile.