noahdgrant
@noahdgrant
Public Skills
ns-ship
by noahdgrant
Ship phase. Turns a reviewed unit into an open PR and babysits it to merge-ready. Use after ns-review passes, or when asked to open a PR, write a PR body, or get a PR green.
ns-contract
by noahdgrant
The nightshift contract that every ns phase skill follows. It covers the docs/agents files, units, worktrees, the .ns artifacts and their frontmatter, gates and gate policy, and evidence. Read it when a phase skill points here.
ns-demo
by noahdgrant
Test skill for ns eval. Fixes the adder test-first.
ns-manual
by noahdgrant
User-invoked skill; trigger evals do not apply.
ns-setup
by noahdgrant
Configure a repo for the nightshift skills by writing its docs/agents/ files (stack, verify, issue tracker, triage labels, domain docs). Use on first use in a repo, or when a skill finds a docs/agents/ file missing.
ns-helper
by noahdgrant
Extra skill installed in both arms.
ns-principle-explain-the-number
by noahdgrant
"Apply before you trust, report, or act on a number you measured: a speedup, a regression, a throughput, a latency, or an eval result. Find what limits it, and rule out that it measured something other than the work you think."
ns-principle-never-block-on-the-human
by noahdgrant
"Apply when tempted to ask 'should I do X?' on reversible work. Proceed, present the result, let the human course-correct after the fact; reserve confirmation for irreversible actions."
ns-principle-test-behavior-not-implementation
by noahdgrant
"Apply when you write, change, or keep a test. Call the code the way its users do and assert the result they observe against a literal expected value. If the test would still pass when every imported function returns None, rewrite the assertion or delete the test."
ns-no-comments
by noahdgrant
Strip comments and lint/type suppressions from a diff with the Comment Sicko persona, fix accepted MUST KILLs at the root cause, and encode constraint comments as types, assertions, tests or lints. Use when cleaning comments out of a change, when a review flags comments or suppressions, or before shipping.
ns-principle-subtract-before-you-add
by noahdgrant
"Apply when sequencing an addition, refactor, or rewrite. Remove dead code, redundant validators, and stub references first, then build on the simpler base."
ns-domain-modeling
by noahdgrant
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
ns-principle-prove-it-works
by noahdgrant
"Apply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'"
ns-verify
by noahdgrant
VERIFY phase. Prove a built unit meets every acceptance criterion by driving the real surface, and write .ns/<unit-id>/evidence.md. Use after ns-build passes, or when asked to verify, prove, or show evidence that a change works.
ns-grilling
by noahdgrant
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, says "grill me", or uses any other 'grill' trigger phrase.
ns-principle-boundary-discipline
by noahdgrant
"Apply when wiring validation, error handling, or framework adapters. Concentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions."
ns-writing-for-humans
by noahdgrant
Cut AI tells and write plain prose people read. Use when writing or editing docs, READMEs, PR and issue text, commit bodies, emails, or messages.
ns-principle-minimize-reader-load
by noahdgrant
"Apply when reviewing or shaping code that's hard to trace. Count layers between question and answer, and hidden state in the reader's head; collapse one-caller wrappers and shrink mutable scope."
ns-writing-for-agents
by noahdgrant
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.
ns-principle-guard-the-context-window
by noahdgrant
"Apply when context is filling up: large outputs, long files, repeated reads, fan-out planning. Route bulk to fresh-context agents; keep summaries in the main thread, not raw payloads."
ns-build
by noahdgrant
BUILD phase. Implement a unit's brief test-first in thin vertical slices inside its worktree, and write the build artifact. Use when a unit has a brief and is ready to build, or when asked to implement a ticket.
ns-principle-type-system-discipline
by noahdgrant
"Apply when designing types, reviewing a function signature, or writing code in any statically-typed language. Make illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, refuse to lie to the compiler, exhaust variants, derive from authoritative schemas."
ns-triage
by noahdgrant
Move issues and external PRs through the triage state machine, categorise, verify, write Agent Briefs, and route each to its next phase. Use when triaging a new issue, reviewing what needs attention on the tracker, or starting a unit of work from an issue.
ns-principle-laziness-protocol
by noahdgrant
"Apply when refactoring, evaluating diff size, or tempted to add abstractions, layers, or signal threading. Bias toward deletion and the smallest change that solves the problem."