<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>shincbm</title>
    <description>Working notes on embedded software, simulation, agentic coding, and side projects.</description>
    <link>https://www.shincbm.com/</link>
    <atom:link href="https://www.shincbm.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sat, 11 Apr 2026 07:37:42 +0000</pubDate>
    <lastBuildDate>Sat, 11 Apr 2026 07:37:42 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      
    
      
    
      
    
      
    
      
      <item>
        <title>Claude Beyond Code: Intent Expression and Agent Skills</title>
        <description>&lt;p&gt;I feel like productive developers have often resisted documentation: it interrupts the flow of getting &lt;strong&gt;code&lt;/strong&gt; out of your head and into the editor. Interestingly, my recent experience of agentic coding is flipping this. When an agent writes the &lt;strong&gt;code&lt;/strong&gt;, the bottleneck moves upstream to: “how clearly can I express the &lt;strong&gt;idea&lt;/strong&gt;?” Documentation isn’t the interruption anymore, it’s leverage over the agent.&lt;/p&gt;

&lt;p&gt;This post introduces a set of skills for agentic document elicitation and review. The skills are reusable instruction files for &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code&quot;&gt;Claude Code&lt;/a&gt;, covering document creation and review. First, I’d like to present why I’ve created them.&lt;/p&gt;

&lt;h2 id=&quot;the-leverage-shift&quot;&gt;The leverage shift&lt;/h2&gt;

&lt;p&gt;The traditional developer’s fulcrum has been &lt;em&gt;mental clarity&lt;/em&gt;: keep the system &lt;strong&gt;idea&lt;/strong&gt; in your head, design and refine in place. The lever moves well-formed &lt;strong&gt;code&lt;/strong&gt; from brain to editor at speed.&lt;/p&gt;

&lt;p&gt;In that model &lt;strong&gt;documentation was an interruption&lt;/strong&gt;, at best a necessary evil. Interrupting that flow to &lt;em&gt;“document it”&lt;/em&gt; was disruptive. You did it because collaboration required it, not because it helped you think.&lt;/p&gt;

&lt;p&gt;But there is a trap here. A productive developer who tries to slot an agent into their existing &lt;em&gt;mental-clarity&lt;/em&gt; workflow may actually &lt;a href=&quot;https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/&quot;&gt;lose productivity&lt;/a&gt;. New leverage doesn’t come from keeping the &lt;strong&gt;idea&lt;/strong&gt; in your head and using the agent as a faster typist. It comes from changing the workflow. Going back to documentation, this is a way to share the &lt;strong&gt;idea&lt;/strong&gt; directly.&lt;/p&gt;

&lt;p&gt;In the new model, the agentic developer’s fulcrum is &lt;em&gt;agentic clarity&lt;/em&gt;: externalize the &lt;strong&gt;idea&lt;/strong&gt; so completely that the lever moves &lt;strong&gt;code&lt;/strong&gt; from agent to codebase without pulling a human back into the loop.&lt;/p&gt;

&lt;p&gt;Here, &lt;strong&gt;documentation can be an enabler&lt;/strong&gt;, or at least that’s the argument I’ll make. When an agent handles the &lt;strong&gt;code&lt;/strong&gt;, human language becomes the input, not the afterthought.&lt;/p&gt;

&lt;p&gt;Plan mode in agentic coding tools is one path to &lt;em&gt;agentic clarity&lt;/em&gt;, but plans are one-off. A living document in the workspace gives both agents and humans a shared, versioned reference. Iterative prompting works for contained tasks, but anything that persists (an API consumed by multiple agents, a design revisited across sprints) benefits from a document under configuration management rather than a conversation that evaporates. The development lifecycle sees the same &lt;strong&gt;ideas&lt;/strong&gt; surface repeatedly.&lt;/p&gt;

&lt;h2 id=&quot;a-structured-review-skill&quot;&gt;A Structured Review Skill&lt;/h2&gt;

&lt;p&gt;Firstly, this approach relies on &lt;a href=&quot;https://www.writethedocs.org/guide/docs-as-code/&quot;&gt;docs as code&lt;/a&gt;: maintaining documentation as an artifact alongside source code. You can port the skills to a different workflow, but in my opinion that reduces leverage and adds friction.&lt;/p&gt;

&lt;p&gt;At every stage of the development lifecycle, ask: what is the source of information? Is it the developer’s novel &lt;strong&gt;idea&lt;/strong&gt;, or can the agent infer it from standard approaches? With three skills I form a pipeline to capture the relevant information and filter the noise:&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Skill&lt;/th&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;Information&lt;/th&gt;
      &lt;th&gt;Noise&lt;/th&gt;
      &lt;th&gt;Refinement&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://github.com/nakane1chome/claude-skills/blob/main/skills/flesh-out/SKILL.md&quot;&gt;flesh-out&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;Generate&lt;/td&gt;
      &lt;td&gt;Expand&lt;/td&gt;
      &lt;td&gt;Adds (controlled)&lt;/td&gt;
      &lt;td&gt;Raw ore → shaped material&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://github.com/nakane1chome/claude-skills/blob/main/skills/review-steps/SKILL.md&quot;&gt;review-steps&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;Polish&lt;/td&gt;
      &lt;td&gt;Preserve&lt;/td&gt;
      &lt;td&gt;Reduce&lt;/td&gt;
      &lt;td&gt;Remove impurities&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://github.com/nakane1chome/claude-skills/blob/main/skills/strong-edit/SKILL.md&quot;&gt;strong-edit&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;Critique&lt;/td&gt;
      &lt;td&gt;Enhance&lt;/td&gt;
      &lt;td&gt;Reduce&lt;/td&gt;
      &lt;td&gt;Stress-test the structure&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;A typical pipeline runs &lt;strong&gt;&lt;a href=&quot;https://github.com/nakane1chome/claude-skills/blob/main/skills/flesh-out/SKILL.md&quot;&gt;flesh-out&lt;/a&gt;&lt;/strong&gt; → &lt;strong&gt;&lt;a href=&quot;https://github.com/nakane1chome/claude-skills/blob/main/skills/review-steps/SKILL.md&quot;&gt;review-steps&lt;/a&gt;&lt;/strong&gt; → &lt;strong&gt;&lt;a href=&quot;https://github.com/nakane1chome/claude-skills/blob/main/skills/strong-edit/SKILL.md&quot;&gt;strong-edit&lt;/a&gt;&lt;/strong&gt;, but the skills can be applied in any order; each one detects what the document needs. All three are broken into numbered stages with developer checkpoints. The agent stops after each stage and waits for approval before proceeding.&lt;/p&gt;

&lt;pre class=&quot;mermaid&quot;&gt;
graph LR
    raw[Raw notes] --&amp;gt; FO

    subgraph FO [&quot;/flesh-out&quot;]
        fo0(Stage 0&lt;br /&gt;Extract ideas) --&amp;gt; fo1(Stage 1&lt;br /&gt;Research)
        fo1 --&amp;gt; fo2(Stage 2&lt;br /&gt;Structure)
        fo2 --&amp;gt; fo3(Stage 3&lt;br /&gt;Polish)
    end

    FO --&amp;gt; draft[Structured draft]
    draft --&amp;gt; RS

    subgraph RS [&quot;/review-steps&quot;]
        rs0(Stage 0&lt;br /&gt;Language) --&amp;gt; rs1(Stage 1&lt;br /&gt;Clarity)
        rs1 --&amp;gt; rs2(Stage 2&lt;br /&gt;Structure)
        rs2 --&amp;gt; rs3(Stage 3&lt;br /&gt;Consistency)
        rs3 --&amp;gt; rs4(Stage 4&lt;br /&gt;Best practice)
        rs4 --&amp;gt; rs5(Stage 5&lt;br /&gt;Tidy up)
        rs5 --&amp;gt; rs6(Stage 6&lt;br /&gt;Verify links)
    end

    RS --&amp;gt; reviewed[Reviewed draft]
    reviewed --&amp;gt; SE

    subgraph SE [&quot;/strong-edit&quot;]
        se0(Stage 0&lt;br /&gt;Core argument) --&amp;gt; se1(Stage 1&lt;br /&gt;Structure)
        se1 --&amp;gt; se2(Stage 2&lt;br /&gt;Relevance)
        se2 --&amp;gt; se3(Stage 3&lt;br /&gt;Challenge)
        se3 --&amp;gt; se4(Stage 4&lt;br /&gt;Readability)
        se4 --&amp;gt; se5(Stage 5&lt;br /&gt;Edits)
    end

    SE --&amp;gt; final[Final document]

    style raw fill:#f9f,stroke:#333
    style final fill:#9f9,stroke:#333
&lt;/pre&gt;

&lt;h2 id=&quot;writing-and-editing-in-stages&quot;&gt;Writing and editing in stages&lt;/h2&gt;

&lt;p&gt;What I’m trying to do is find the perfect division of labor. The human brings the problem and the engineering; the agent brings industry techniques, frameworks, and best practices. That allows you to focus your time on what is not in the model’s training data and leverage the agent for everything else.&lt;/p&gt;

&lt;p&gt;To do that, on top of breaking editing into three skills, each has a series of stages.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;flesh-out: from raw notes to structured content&lt;/strong&gt;: Takes a skeleton of ideas (bullet points, stream-of-consciousness notes, half-formed thoughts) and expands them into a structured document. The agent first confirms it understands the developer’s intent, then researches, structures, polishes, and tidies up. The risk here is meaning distortion. Raw notes are ambiguous, and assumptions compound. Stage 0 (extract core ideas, developer confirms) exists specifically to catch misunderstandings before they propagate.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;review-steps: polish and verify&lt;/strong&gt;: Takes a structured draft and improves it: language consistency, conceptual clarity, structural compliance, comparison against industry best practice, and link verification. The agent handles mechanical checks and research; the developer holds final authority on judgment calls. Stages 0-4 move progressively from minor editing to conceptual validation. Stage 5 tidies up references; Stage 6 verifies every URL resolves and that agent-sourced references support the claims made.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;strong-edit: challenge the content&lt;/strong&gt;: Takes a complete draft and critiques it: structure, relevance, argument strength, readability. Stages 0-4 are critique only; no edits are made to the document. The agent identifies weaknesses; the developer decides what matters. Edits happen in Stage 5 after the critique is agreed.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;try-it-out&quot;&gt;Try it out&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Clone &lt;a href=&quot;https://github.com/nakane1chome/claude-skills&quot;&gt;https://github.com/nakane1chome/claude-skills&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Install to your home dir: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;./install.sh&lt;/code&gt; and follow the prompts&lt;/li&gt;
  &lt;li&gt;Already have a completed document? Try &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/review-steps&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/strong-edit&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Starting from scratch? Write a quick and dirty memo and try &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/flesh-out&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;The collection includes other skills; try &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/review-skill&lt;/code&gt; on one of your Claude Code skill files to review its structure and coverage&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;caveats--risks&quot;&gt;Caveats &amp;amp; Risks&lt;/h2&gt;

&lt;p&gt;It’s not perfect yet; some of the issues with the flow are:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;False sense of completeness&lt;/strong&gt;: A large language model (LLM) will confidently proclaim your work to be exceptional and ready to publish. The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;strong-edit&lt;/code&gt; skill exists partly to counter this: the philosophy section puts it directly: “Challenge the author’s assumptions. If something seems unclear, it may be unclear, or wrong. Don’t fix; question.”&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Hallucinations and trust&lt;/strong&gt;: The staged approach constrains this risk but does not eliminate it (see &lt;a href=&quot;#this-article&quot;&gt;This article&lt;/a&gt; for a concrete example from this very post). At every step, the source of information (human idea or agent inference) should be identifiable. The staged process keeps the human engaged rather than rubber-stamping, but link and fact verification remain the developer’s job. &lt;a href=&quot;https://stackoverflow.co/company/press/archive/stack-overflow-2025-developer-survey/&quot;&gt;Apparently developer trust in AI accuracy remains low&lt;/a&gt; (only 43% in recent surveys), for me the key here is checkpoints and grounding, which is done via staged editing.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Sensitivity to generated documents&lt;/strong&gt;: Some people will reject anything they believe was written by AI, regardless of how it was actually produced. These skills make the human the source of novel information and the agent an editor, but that distinction may not matter to everyone.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Speed&lt;/strong&gt;: It’s deliberately supervised, which can be slow.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;final-words&quot;&gt;Final Words&lt;/h2&gt;

&lt;p&gt;I’ve heard a Japanese term for meetings where people talk past each other without a shared grounding: 空中戦 (kūchūsen, “air battle”). Opinions fly overhead like fighter jets; there’s a lot of noise, nobody lands a hit, and the meeting ends with no decisions. The antonym is 地上戦 (chijōsen, “ground battle”); discussion grounded in visible, concrete materials where participants work through specifics together.&lt;/p&gt;

&lt;p&gt;Raw ideas create kūchūsen. An air battle with an agent is only going to slow you down! Ground the &lt;strong&gt;idea&lt;/strong&gt; first, and let the agent do what it’s good at.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;afterword-observations-from-practice&quot;&gt;Afterword: Observations from practice&lt;/h2&gt;

&lt;h3 id=&quot;this-post&quot;&gt;This post&lt;/h3&gt;

&lt;p&gt;It started as 727 words of raw notes with partial structure. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/flesh-out&lt;/code&gt; expanded that to 2279 words, tripling the length. The structure held but the agent added padding and hedging.&lt;/p&gt;

&lt;p&gt;Human editing cut about 12% (2279 to 2007 words), removing agent-generated filler. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/review-steps&lt;/code&gt; added the METR productivity trap reference, the developer trust data, and the afterword observations, bringing the word count back up to 2257.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/strong-edit&lt;/code&gt; sharpened the opening to lead with the thesis, tightened the leverage shift sentences, and replaced false binary framing. Final word count: ~1930.&lt;/p&gt;

&lt;p&gt;Then a link turned up 404. During &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/review-steps&lt;/code&gt;, the agent had added a reference with a fabricated URL. The domain didn’t exist. The link survived human editing and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/strong-edit&lt;/code&gt; because at every stage the reviewer was evaluating structure, argument, and voice — nobody was clicking links. Stage 6 (verify links) was added to the review-steps skill as a direct result of this failure.&lt;/p&gt;

&lt;p&gt;Rough attribution of the final post:&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt; &lt;/th&gt;
      &lt;th&gt;Human&lt;/th&gt;
      &lt;th&gt;Agent&lt;/th&gt;
      &lt;th&gt;Co-created&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Ideas and arguments&lt;/td&gt;
      &lt;td&gt;~95%&lt;/td&gt;
      &lt;td&gt;~5%&lt;/td&gt;
      &lt;td&gt;—&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Research and references&lt;/td&gt;
      &lt;td&gt;~50%&lt;/td&gt;
      &lt;td&gt;~50%&lt;/td&gt;
      &lt;td&gt;—&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Prose (the actual sentences)&lt;/td&gt;
      &lt;td&gt;~5%&lt;/td&gt;
      &lt;td&gt;~60%&lt;/td&gt;
      &lt;td&gt;~35%&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Editorial decisions&lt;/td&gt;
      &lt;td&gt;100%&lt;/td&gt;
      &lt;td&gt;0%&lt;/td&gt;
      &lt;td&gt;—&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;in-general&quot;&gt;In general&lt;/h3&gt;

&lt;p&gt;Applied mostly to design and architecture documents, working with &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code&quot;&gt;Claude Code&lt;/a&gt; Opus 4.5 and skills-as-files:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Scaffolding precision&lt;/strong&gt;: Claude sticks precisely to the staged workflow when actions are defined as skills. This was not the case when just adding project guidelines to CLAUDE.md or &lt;a href=&quot;https://agents.md/&quot;&gt;AGENTS.md&lt;/a&gt;; in both cases the agent did not consistently apply the scaffold.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Mode detection&lt;/strong&gt;: The agent identifies when a review is not appropriate — e.g., when a largely complete piece would benefit more from strong-edit than review-steps.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Term sensitivity&lt;/strong&gt;: “Review” signals preservation; “flesh-out” signals generation; “strong-edit” signals critique. The difference in vocabulary shapes the agent’s behavior significantly.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;standout-steps&quot;&gt;Standout steps&lt;/h3&gt;

&lt;h4 id=&quot;review-vs-industry-best-practice&quot;&gt;Review vs industry best practice&lt;/h4&gt;

&lt;p&gt;Stage 4 of review-steps sends the agent to search for relevant frameworks and approaches in the domain, then compares the document against what it finds. Not a substitute for expert review; it’s an automated search with a structured summary. But you won’t be caught off-guard by an obvious gap that a five-minute search would have revealed.&lt;/p&gt;

&lt;p&gt;This stage tends to pull in a lot of information. I ask the agent to generate a separate report and keep it out of the document under review. Without that constraint, the agent folds unnecessary details from the research into the document.&lt;/p&gt;

&lt;h4 id=&quot;stage-0-extract-idea-flesh-out-and-core-argument-strong-edit&quot;&gt;Stage 0: Extract Idea (flesh-out) and Core Argument (strong-edit)&lt;/h4&gt;

&lt;p&gt;As a rough guide, the agent gets around 70% of these stages correct and then asks questions to clarify the remainder. It produces a concise summary of what it understands and what needs clarification, and this is very insightful to interact with.&lt;/p&gt;

&lt;h4 id=&quot;flesh-out-catching-a-wrong-assumption&quot;&gt;Flesh-out catching a wrong assumption&lt;/h4&gt;

&lt;p&gt;On a separate project, I wrote 169 words of raw notes for a CPU model design. Key assumption: “Only the kernel uses the ISA directly in supervisor space.”&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/flesh-out&lt;/code&gt; expanded to a 1962-word design document (11.6x). On a second pass, the agent researched the actual source tree and found 21+ user-space assembly files across 10 library modules and 3 applications. The assumption was wrong: the ISA boundary was a language boundary, not a privilege boundary.&lt;/p&gt;

&lt;p&gt;This changed the design. The context diagram was rewritten from a two-path flow to a 2x2 matrix (kernel/user x assembler/pascal). A fundamental misunderstanding was caught before it shaped the implementation.&lt;/p&gt;

&lt;h2 id=&quot;see-also&quot;&gt;See also&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Parallel approach&lt;/strong&gt;: &lt;a href=&quot;https://github.com/robertguss/claude-skills&quot;&gt;Robert Guss’s “Book Factory”&lt;/a&gt;, found during the research editing stage, takes a similar pipeline approach for nonfiction book production, replicating traditional publishing infrastructure with Claude Code skills.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Idea dictation&lt;/strong&gt;: &lt;a href=&quot;https://wispr.ai&quot;&gt;Wispr&lt;/a&gt; (covered in &lt;a href=&quot;https://se-radio.net/2026/01/se-radio-703-sahaj-garg-on-low-latency-ai/&quot;&gt;SE Radio 703&lt;/a&gt;) is working on something more like &lt;em&gt;idea&lt;/em&gt; dictation, using LLMs to edit raw verbal input into structured text.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Product-engineering handoff&lt;/strong&gt;: This post covers a single IC workflow. &lt;a href=&quot;https://www.bicameral-ai.com/blog/introducing-bicameral&quot;&gt;Bicameral AI&lt;/a&gt; focuses on the product-engineering handoff, surfacing how proposed features impact existing architectures and detecting requirement gaps before reaching the coding stage.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;future-extension&quot;&gt;Future Extension&lt;/h2&gt;

&lt;p&gt;The review process produces a specification with a known complexity profile. That profile could select the agent: a high-end model for architectural work, a lightweight model for boilerplate. Model selection as a downstream output of document review, not a separate decision.&lt;/p&gt;

&lt;h2 id=&quot;review-reports&quot;&gt;Review reports&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/agentic-code/2026/02/15/claude-skill-document-review-stage4-report.html&quot;&gt;Stage 4 Research Report: Review vs Industry Best Practice&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/agentic-code/2026/02/15/claude-skill-document-review-strong-edit-report.html&quot;&gt;Strong-Edit Report&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Sun, 15 Feb 2026 00:00:00 +0000</pubDate>
        <link>https://www.shincbm.com/agentic-code/2026/02/15/claude-skill-document-review.html</link>
        <guid isPermaLink="true">https://www.shincbm.com/agentic-code/2026/02/15/claude-skill-document-review.html</guid>
        
        <category>claude-code</category>
        
        <category>claude-skills</category>
        
        <category>agentic-coding</category>
        
        <category>documentation</category>
        
        <category>docs-as-code</category>
        
        
        <category>agentic-code</category>
        
      </item>
      
    
      
    
      
    
      
      <item>
        <title>OpenCL Learning Exercise — Image Transform</title>
        <description>&lt;p&gt;This is an old tool written to play with &lt;a href=&quot;https://www.khronos.org/opencl/&quot;&gt;OpenCL&lt;/a&gt; (Open Computing Language) on x86_64 and aarch64
machines.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/nakane1chome/opencl-learn/tree/master&quot;&gt;https://github.com/nakane1chome/opencl-learn/tree/master&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ImageXform is a command-line tool for learning and experimenting with
OpenCL by applying GPU-accelerated kernels to images. It provides a
visual, hands-on way to understand OpenCL programming by
transforming PNG or JPG images through custom or example kernels.&lt;/p&gt;

&lt;p&gt;The tool handles all the OpenCL and image conversion boilerplate
(device selection, context creation, buffer management) so the kernel
can be launched and results inspected.&lt;/p&gt;

&lt;p&gt;It is designed for learning OpenCL concepts like parallel processing, memory
management, and kernel optimization through immediate visual
feedback.&lt;/p&gt;

&lt;p&gt;Code and build system have been slightly modernized after fixing a few bugs.&lt;/p&gt;

&lt;h2 id=&quot;example-usage&quot;&gt;Example Usage&lt;/h2&gt;

&lt;p&gt;Transform an image to grayscale:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# Build the project (one-time setup)&lt;/span&gt;
make build-amd64

&lt;span class=&quot;c&quot;&gt;# Run grayscale conversion&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;build.amd64/imgxform
./imagexform &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; grayscale.cl &lt;span class=&quot;nt&quot;&gt;-i&lt;/span&gt; test_in.png &lt;span class=&quot;nt&quot;&gt;-o&lt;/span&gt; output_gray.png

&lt;span class=&quot;c&quot;&gt;# The tool will:&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# 1. Load test_in.png&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# 2. Compile grayscale.cl kernel&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# 3. Execute it on your OpenCL device (GPU/CPU)&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# 4. Save the result to output_gray.png&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can substitute any &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.cl&lt;/code&gt; kernel file to experiment with different transformations like edge detection (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;edge_3x3.cl&lt;/code&gt;) or create your own custom kernels.&lt;/p&gt;

</description>
        <pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate>
        <link>https://www.shincbm.com/restore_old_code/2026/01/11/opencl-test-prog.html</link>
        <guid isPermaLink="true">https://www.shincbm.com/restore_old_code/2026/01/11/opencl-test-prog.html</guid>
        
        <category>opencl</category>
        
        <category>C++</category>
        
        <category>gpu</category>
        
        
        <category>restore_old_code</category>
        
      </item>
      
    
      
    
      
      <item>
        <title>Original timestamps for Git</title>
        <description>&lt;p&gt;How to commit files to Git with the original timestamp.&lt;/p&gt;

&lt;p&gt;(Or an alternative to https://githistorygenerator.com/ that can make you less employable by revealing side projects from the last century.)&lt;/p&gt;

&lt;p&gt;I had a few copies of an old project &lt;a href=&quot;https://github.com/nakane1chome/amiga-scroller/tree/master&quot;&gt;amiga-scroller&lt;/a&gt; on an old hard disk image. The files were checked into &lt;a href=&quot;https://en.wikipedia.org/wiki/Revision_Control_System&quot;&gt;RCS&lt;/a&gt; back in 1996 and 1997. I’d like to move them to Git and see if it can be compiled. As the files have been preserved for so long I’d like to keep the original timestamps.&lt;/p&gt;

&lt;p&gt;Assuming we have a folder with some old files, and a repo on GitHub, first init the local folder and link to remote.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git init
git remote add origin git@github.com:nakane1chome/amiga-scroller.git
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;option-1---set-git_author_date-and-git_committer_date&quot;&gt;Option 1 - Set GIT_AUTHOR_DATE and GIT_COMMITTER_DATE&lt;/h2&gt;

&lt;p&gt;The timestamp can be associated with each file using find &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-printf &quot;%T@ %p\n&quot;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Start with the oldest version of the source tree. Add and then commit the file to git.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;f &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;find &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;  &lt;span class=&quot;nt&quot;&gt;-type&lt;/span&gt; f &lt;span class=&quot;nt&quot;&gt;-printf&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;%T@ %p&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt; .git | &lt;span class=&quot;nb&quot;&gt;sort&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-f2&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos; &apos;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do  
    &lt;/span&gt;git add &lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
     &lt;span class=&quot;nv&quot;&gt;GIT_AUTHOR_DATE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;stat&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; %y &lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt; &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;GIT_COMMITTER_DATE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;stat&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; %y &lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt; &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
        git commit &lt;span class=&quot;nt&quot;&gt;-m&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Add &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
&lt;span class=&quot;k&quot;&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;At this point copy the newer version of the source into the repo, repeat for just the modified files.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;f &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;git status | &lt;span class=&quot;nb&quot;&gt;grep &lt;/span&gt;modified | &lt;span class=&quot;nb&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-f2&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;:&apos;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do 
    &lt;/span&gt;git add &lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
     &lt;span class=&quot;nv&quot;&gt;GIT_AUTHOR_DATE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;stat&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; %y &lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt; &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;GIT_COMMITTER_DATE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;stat&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; %y &lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt; &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
        git commit &lt;span class=&quot;nt&quot;&gt;-m&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Update &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;More examples &lt;a href=&quot;https://www.slingacademy.com/article/how-to-tweak-git-commit-timestamps-author-committer-dates/#basic-timestamp-tweaking&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;option-2---libfaketime---can-be-used-with-any-application&quot;&gt;Option 2 - Libfaketime - can be used with any application.&lt;/h2&gt;

&lt;p&gt;Install &lt;a href=&quot;https://github.com/wolfcw/libfaketime&quot;&gt;libfaketime&lt;/a&gt;. This will replace the dynamic linking for the standard time functions using &lt;a href=&quot;https://www.man7.org/linux/man-pages/man8/ld.so.8.html&quot;&gt;LD_PRELOAD&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The timestamp can be associated with each file using find &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-printf &quot;%T@ %p\n&quot;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Start with the oldest version of the source tree. Add and then commit the file to git.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;f &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;find &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;  &lt;span class=&quot;nt&quot;&gt;-type&lt;/span&gt; f &lt;span class=&quot;nt&quot;&gt;-printf&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;%T@ %p&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt; .git | &lt;span class=&quot;nb&quot;&gt;sort&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-f2&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos; &apos;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do  
    &lt;/span&gt;git add &lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;LD_PRELOAD&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;~/libfaketime/src/libfaketime.so.1 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
        &lt;span class=&quot;nv&quot;&gt;FAKETIME&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;stat&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; %y &lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt; &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
        git commit &lt;span class=&quot;nt&quot;&gt;-m&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Add &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
&lt;span class=&quot;k&quot;&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;At this point copy the newer version of the source into the repo, repeat for just the modified files.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;f &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;git status | &lt;span class=&quot;nb&quot;&gt;grep &lt;/span&gt;modified | &lt;span class=&quot;nb&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-f2&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;:&apos;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do 
    &lt;/span&gt;git add &lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;LD_PRELOAD&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;~/libfaketime/src/libfaketime.so.1 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
        &lt;span class=&quot;nv&quot;&gt;FAKETIME&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;stat&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; %y &lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt; &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
        git commit &lt;span class=&quot;nt&quot;&gt;-m&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Update &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$f&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I found a few missing dependencies, so added them independently.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;LD_PRELOAD&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;~/libfaketime/src/libfaketime.so.1 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;FAKETIME&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;stat&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; %y &lt;span class=&quot;nb&quot;&gt;exec&lt;/span&gt;/types.i &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;  &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    git commit &lt;span class=&quot;nt&quot;&gt;-m&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Add OS headers&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;results&quot;&gt;Results&lt;/h2&gt;

&lt;p&gt;Finally push to GitHub.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git push &lt;span class=&quot;nt&quot;&gt;-u&lt;/span&gt; origin master
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You should now see the full history.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/github-activity.png&quot; alt=&quot;Activity&quot; /&gt;&lt;/p&gt;

</description>
        <pubDate>Mon, 13 Jan 2025 00:00:00 +0000</pubDate>
        <link>https://www.shincbm.com/restore_old_code/2025/01/13/old-code.html</link>
        <guid isPermaLink="true">https://www.shincbm.com/restore_old_code/2025/01/13/old-code.html</guid>
        
        <category>git</category>
        
        <category>faketime</category>
        
        <category>bash</category>
        
        
        <category>restore_old_code</category>
        
      </item>
      
    
  </channel>
</rss>
